function doSomethingAsync(callback) {
  setTimeout(()=>{
    console.log('宏任务结束')
  })
  // 模拟异步操作
  process.nextTick(() => {
    console.log('异步操作完成');
    callback(null, '操作结果');
  });
}

console.log('开始');
doSomethingAsync((error, result) => {
  if (error) {
    console.error('发生错误:', error);
  } else {
    console.log('回调执行，结果:', result);
  }
});
console.log('结束前的语句');